package sifeap.entities.solicitudesauxilio;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import sifeap.entities.soportes.Soporte;
import sifeap.entities.usuarios.Usuario;


/**
 * The persistent class for the solicitudesauxilio database table.
 * 
 */
@Entity
@Cacheable(false)
@Table(name="solicitudesauxilio", schema="sifeap")
public class SolicitudAuxilio implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name = "IDSOLAUXILIO_GENERATOR", sequenceName = "seq_solicitudesauxilio", schema="sifeap", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "IDSOLAUXILIO_GENERATOR")
	@Column(unique=true, nullable=false, precision=8)
	private Long idSolicitudAuxilio;

	@Column(length=256)
	private String comentario;

	@Temporal(TemporalType.TIMESTAMP)
	@Column(nullable=false)
	private Date fechaSolicitud;

	@Column(nullable=false, length=15)
	private String vincedula;
	
	@Column(length=128)
	private String pruebasAportadas;

	//bi-directional many-to-one association to EstadoAuxilio
	@ManyToOne
	@JoinColumn(name="idestadoauxilio", nullable=false)
	private EstadoAuxilio estadosauxilio;

	//bi-directional many-to-one association to TipoAuxilio
	@ManyToOne
	@JoinColumn(name="idtipoauxilio", nullable=false)
	private TipoAuxilio tiposauxilio;

	//bi-directional many-to-one association to Usuario
	@ManyToOne
	@JoinColumn(name="nombreusuario", nullable=false)
	private Usuario usuario;

	//bi-directional many-to-many association to Soporte
	@ManyToMany(mappedBy="solicitudesauxilios")
	private List<Soporte> soportes;

	public SolicitudAuxilio() {
	}

	public Long getIdSolicitudAuxilio() {
		return this.idSolicitudAuxilio;
	}

	public void setIdSolicitudAuxilio(Long idSolicitudAuxilio) {
		this.idSolicitudAuxilio = idSolicitudAuxilio;
	}

	public String getComentario() {
		return this.comentario;
	}

	public void setComentario(String comentario) {
		this.comentario = comentario;
	}

	public Date getFechaSolicitud() {
		return this.fechaSolicitud;
	}

	public void setFechaSolicitud(Date fechaSolicitud) {
		this.fechaSolicitud = fechaSolicitud;
	}

	public String getVincedula() {
		return this.vincedula;
	}

	public void setVincedula(String vincedula) {
		this.vincedula = vincedula;
	}

	public EstadoAuxilio getEstadosauxilio() {
		return this.estadosauxilio;
	}

	public void setEstadosauxilio(EstadoAuxilio estadosauxilio) {
		this.estadosauxilio = estadosauxilio;
	}

	public TipoAuxilio getTiposauxilio() {
		return this.tiposauxilio;
	}

	public void setTiposauxilio(TipoAuxilio tiposauxilio) {
		this.tiposauxilio = tiposauxilio;
	}

	public Usuario getUsuario() {
		return this.usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public List<Soporte> getSoportes() {
		return this.soportes;
	}

	public void setSoportes(List<Soporte> soportes) {
		this.soportes = soportes;
	}

	public String getPruebasAportadas() {
		return pruebasAportadas;
	}

	public void setPruebasAportadas(String pruebasAportadas) {
		this.pruebasAportadas = pruebasAportadas;
	}

}